home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_2 / disasm.tar / disasm / dis48.h < prev    next >
C/C++ Source or Header  |  1990-04-25  |  1KB  |  59 lines

  1. #include <stdio.h>
  2.  
  3. typedef char        Nybble;
  4. typedef unsigned int    NAddr;
  5.  
  6. #define NOADDR        0xffffffff
  7.  
  8. extern char    hex[];
  9.  
  10. #ifdef ANSI
  11. int    GetInt(char *mem, NAddr *addr, int n);
  12. Nybble    GetNybble(char *mem, NAddr addr);
  13.  
  14. char    *Append16(char *buf, int n);
  15. char    *AppendAddr(char *buf, NAddr addr);
  16. char    *AppendRAddr(char *buf, NAddr pc, int disp, int n, int offset);
  17. char    *AppendField(char *buf, Nybble fn);
  18. char    *AppendDecInt(char *buf, int n);
  19. char    *AppendHexNyb(char *buf, char *mem, NAddr *addr, int n);
  20. char    *AppendImmNyb(char *buf, char *mem, NAddr *addr, int n);
  21. char    *AppendStBits(char *buf, int n);
  22. char    *AppendStr(char *buf, char *str);
  23. #else
  24. int    GetInt();
  25. Nybble    GetNybble();
  26.  
  27. char    *Append16();
  28. char    *AppendAddr();
  29. char    *AppendRAddr();
  30. char    *AppendField();
  31. char    *AppendDecInt();
  32. char    *AppendHexNyb();
  33. char    *AppendImmNyb();
  34. char    *AppendStBits();
  35. char    *AppendStr();
  36. #endif
  37.  
  38. typedef char    *Bitmap;
  39.  
  40. #define BITS(s)        ((s) /  8)
  41. #define BITSET(m, b)    m[b >> 3] |= (1 << (b & 7))
  42. #define BITCLR(m, b)    m[b >> 3] &= ~(1 << (b & 7))
  43. #define BITTEST(m, b)    (m[b >> 3] & (1 << (b & 7)))
  44.  
  45. extern Bitmap    completed;
  46.  
  47. typedef enum {other, branch, call, jump, ujump}    IType;
  48.  
  49. extern IType    itype;
  50. extern NAddr    target;
  51.  
  52. #define APPEND_BDIGIT(x, d)    *(x)++ = (d) + '0'
  53. #define APPEND_CHAR(x, c)    *(x)++ = (c)
  54. #define APPEND_COMMA(x)        *(x)++ = ','; *(x)++ = ' '
  55. #define APPEND_HEXMARK(x)    *(x)++ = '$'
  56. #define APPEND_IMMMARK(x)    *(x)++ = '#'
  57. #define APPEND_TAB(x)        *(x)++ = '\t'
  58. #define TERMINATE(x)        *(x) = '\0'
  59.